
//
//  NSDate+Extension.swift
//  微博
//
//  Created by 刘保满 on 16/5/24.
//  Copyright © 2016年 itheima. All rights reserved.
//

import Foundation

extension NSDate {
    
    class func sinaDate(dateString: String) -> NSDate? {
        
        sharedDF.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
        //指定区域
        sharedDF.locale = NSLocale(localeIdentifier: "en")
        
        //将对应的字符串转换为 NSDate
        let sinaDate = sharedDF.dateFromString(dateString)
        
        return sinaDate
    }
    
    /*
     刚刚(一分钟内)
     X分钟前(一小时内)
     X小时前(当天)
     ---------------------------------------------
     昨天 HH:mm(昨天)
     MM-dd HH:mm(一年内)
     yyyy-MM-dd HH:mm(更早期)
     NSCelander  日历对象  提供了非常丰富的日期处理函数
     */

    func fullDescription() -> String {
        
        //获取需要比较的时间和当前时间的间隔
        let cl = NSCalendar.currentCalendar()
        
        if cl.isDateInToday(self) {
            
            let delta = Int(NSDate().timeIntervalSinceDate(self))
            if delta < 60 {
                return "刚刚"
            } else if delta < 60*60 {
                
                return ("\(delta / 60)分钟前")
                
            } else {
                
                return ("\(delta / 3600)小时前")
                
            }
  
        } else {
            
            let comman = "HH:mm"
            if cl.isDateInYesterday(self) {
                //昨天
                sharedDF.dateFormat = "昨天" + comman

            } else {
                //非昨天
                let result = cl.components(.Year, fromDate: self, toDate: NSDate(), options: [])
                if result.year == 0 {
                    //当年
                    sharedDF.dateFormat = "MM--dd" + comman
                    
                } else {
                    //非当年
                    sharedDF.dateFormat = "yyyy-MM--dd" + comman
           
                }

                
            }
            
            let str = sharedDF.stringFromDate(self)
            return str
        }
 
        
    }

    
}